﻿namespace UnityEditor
{
    using System;
    using System.Runtime.CompilerServices;
    using UnityEngine;

    [Serializable]
    internal sealed class GameObjectAndHierarchyChangeTracker
    {
        private IntPtr m_Property;

        [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall]
        public extern GameObjectAndHierarchyChangeTracker();
        [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall]
        public extern void ClearDirty();
        [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall]
        public extern void Dispose();
        ~GameObjectAndHierarchyChangeTracker()
        {
            this.Dispose();
        }

        [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall]
        public extern void SetTrackedGameObjects(GameObject[] objects);

        public bool isDirty { [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall] get; }
    }
}

